Skip to content

Dialog

Plugin: Telegram | Mode: Listen

Reagiere auf vielfältige Weise auf eingehende Telegram Nachrichten.

Grundlagen

Ein Dialog ist ein Gesprächsbaustein, der uns ermöglicht, auf verschiedene Antworten der Spieler:innen unterschiedlich zu reagieren.

Default Einstellungen:
Telegram Client: Der Telegram Client, welcher den Dialog führt.
chat: Die Spieler:in, bzw. der Gruppenchat, die am Dialog teilnehmen.

Zusätzliche Einstellungen:
from: Wenn der Dialog auf eine Nachricht von einer bestimmten Spielerin oder Client hören soll. Nur sinnvoll in Gruppenchats. Hier kann der Spielername als Variable aus der linken Toolbar "Variablen" hineingezogen werden.
priority: Bestimmt die Priörität des Dialogs, falls es mehrere Dialoge gleichzeitig gibt (auf anderen Pfaden bzw. Erzählsträngen des Games).
if: Dient in Kombination mit "else" der Abfrage von Bedingungen. (s. Erläuterung unten)
else: Tritt ein, wenn keine der if-Bedingungen erfüllt wurde. (s. Erläuterung unten)
timeout: Sendet nach abgelaufener Zeit eine Nachricht (oder mehrere) an den Chat und geht zum nächsten State über.

Abfrage von Bedingungen (Conditions)

Mit if kann eine oder mehrere Bedingungen abgefragt werden. Dabei wird der Inhalt der Nachricht(en) überprüft, die eingehen, während der State (mit dieser dialog action) aktiv ist.
Dazu auf den Button "add condition" klicken.
Im Dropdown neben condition 1 besteht nun die Wahl zwischen verschiedenen Abfragearten:
equals: Der Inhalt der Nachricht entspricht exakt dem angegebenen Text.
contains: Die Nachricht beinhaltet den angegebenen Text.
contains media: Die Nachricht beinhaltet eine Datei. Anschließend kann der Dateityp sowie Dateipfad zum Herunterladen angegeben werden.
less than / greater than: Die Nachricht ist eine Zahl dessen Wert Größer oder Kleiner als der hier angegebene Wert ist.
regular expression: Die Nachricht matched die hier angegebene RegEx.
javascript function: Die javascript Funktion mit der Nachricht als Übergabe Parameter gibt einen Truthy Wert zurück.
mongo query: Die mongo query findet ein Item in einer deiner collections.

Im Glossar Kapitel Bedingungen Abfragen mit Conditions findest du mehr darüber heraus, wie du die verschiedenen Abfragearten verwendest.

Sollte eine der Bedingungen eintreten, kann unter respond eine (oder mehrere) Antwort-Nachricht(en) des Client festgelegt werden, sowie der darauf folgende State (unter next state).

Wenn du mehrere Antwortnachrichten unter respond angibst, wird mit jedem Mal, dass die Bedingung zutrifft, die jeweils nächste Antwort in der Liste gesendet.

Mit der letzten Antwort der Liste wird in den next state gewechselt.

Wenn keine weitere Antwort zur Verfügung steht und kein next state angegeben ist, die Bedingung aber erneut eintrifft, passiert nichts.

In else wird angegeben was passiert, falls bei einer eingehenden Nachricht keine der if-Bedingungen eingetreten sein sollte.

Du kannst auch hier eine oder mehrere Nachrichten angeben, die mit jedem mal, dass keine der if Bedingungen eintritt, nacheinander gesendet werden. Mit der letzten Nachricht, oder sofort, falls du keine respond Nachricht angegeben hast, wird in next state gewechselt.

Im Dropdown besteht die Wahl zwischen "respond" (normale Nachricht) und "reply" (Antwort auf die Nachricht).